import Vue from 'vue'
import Router from 'vue-router'
import Login from '../views/Login/Login'


import  Home from '../views/Home/Home'

Vue.use(Router)

const router= new Router({
  routes: [
    {
      path: '/login',
      name: 'login',
      component: Login
    },
    {
      path: '/home',
      name: 'home',
      component: Home,
      children:[

      ]
    }
  ]
})



// 注册一个全局守卫,作用是在路由跳转前,对路由进行判断,防止未登录的用户跳转到其他需要登录的页面去
router.beforeEach((to,from,next)=>{
  //to  去到哪里  
  //  from  之前从哪里来
  // next    能够进行下一步   如果不调用则一直卡在这里 什么都不做  所有当条件都满足的情况 执行 next()
  let token = localStorage.getItem('Token')
// 如果有token 表示之前以及登录过 
//  如果没有token   之前登录过 后面退出了  token 被清掉了   之前重来没登录过    

  if(token) {

    // alert('have token  随便走')
    next()


  }else  {
      // 如果没有登录，访问非登录页面,则跳转到登录页面

      if(to.path!='/login') {
        // alert('no token  no to login')
        // next('/login?redirect='to.fullPath)
        // next('/login')


        next({
          path: '/login',
          query: { redirect: to.fullPath }  // 将跳转的路由path作为参数，登录成功后跳转到该路由 记录用户登录后想直接跳转到那个页面
        })
      }else {
         // 如果没有登录，但访问的是登录页面,直接进入
        //  alert('no token  to  login')
        next()
      }


  }




})



export  default  router
